const userinfo = require("../database/userinfo");
const uuid = require("uuid");
const md5 = require("md5");

module.exports = function(){
  return async (req, res)=>{
    // 接收前端发送的请求数据
    const { tel } = req.body;
    // 根据手机号查看当前数据库中是否有重复信息
    let userData = [];
    // 使用try-catch语句，处理await的失败
    try{
      userData = await userinfo.find({ tel });
    }catch(error){
      res.send({
        code: 2,
        msg: "服务器出错",
        data: error.toString()
      })
      return;
    }
    if(userData.length < 1){
      // 没有重复手机号，添加当前手机号为新用户
      await userinfo.insertMany( {
        tel,
        password: md5(tel.slice(-6)),
        userId: "user-" + uuid.v1(),
        registerTime: Date.now(),
        power: 0
      } )
      res.send({
        code: 1,
        msg: "注册成功",
        data: null
      })
    }else{
      // 存在重复，响应提示
      res.send({
        code: 0,
        msg: "注册失败，用户名重复，手机号已存在",
        data: null
      });
    }
  }
}